package com.example.sup.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName equipment_info
 */
@TableName(value ="equipment_info")
@Data
public class EquipmentInfo implements Serializable {
    /**
     * 设备表
     */
    @TableId(type = IdType.AUTO)
    private Integer equipmentinfoId;

    /**
     * 空调类型id
     */
    private Integer acModelId;

    /**
     * 设备唯一标识
     */
    private String deviceId;

    /**
     * 设备名称，房间号
     */
    private String equipmentName;

    /**
     * 设备ip
     */
    private String equipmentIp;

    /**
     * 通道数量
     */
    private Integer passagewaySum;

    /**
     * 监区id
     */
    private Integer prisonDistrictId;

    /**
     * 设备类型 1 、4路2、八路 3、16路 4、32路
     */
    private Integer equipmentType;

    /**
     * 状态 0掉线 1在线
     */
    private Integer state;

    /**
     * 最高温度
     */
    private Double maxTemperature;

    /**
     * 最大流明度
     */
    private Integer maxLumen;

    /**
     * 0无人1有人
     */
    private Integer unmWare;

    /**
     * 最小流明度
     */
    private Integer miniLumen;

    /**
     * 最大氨气浓度
     */
    private Integer maxAmmonia;

    /**
     * 最小氨气浓度
     */
    private Integer miniAmmonia;

    /**
     * 最大温湿度
     */
    private Integer maxTemperHumidity;

    /**
     * 最小温湿度
     */
    private Integer miniTemperHumidity;

    /**
     * 传感器温度
     */
    private String reservedFields1;

    /**
     * 传感器状态 1上线/0掉线
     */
    private String reservedFields2;

    /**
     * 
     */
    private Date createTime;

    /**
     * 
     */
    private String createBy;

    /**
     * 
     */
    private Date updateTime;

    /**
     * 
     */
    private String updateBy;

    /**
     * 硬件版本
     */
    private String hardwareVersion;

    /**
     * 
     */
    private String softwareVersion;

    /**
     * 模式状态 0自动 1手动
     */
    private Integer patternState;

    /**
     * 最后离线时间
     */
    private Date lastOfflineTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        EquipmentInfo other = (EquipmentInfo) that;
        return (this.getEquipmentinfoId() == null ? other.getEquipmentinfoId() == null : this.getEquipmentinfoId().equals(other.getEquipmentinfoId()))
            && (this.getAcModelId() == null ? other.getAcModelId() == null : this.getAcModelId().equals(other.getAcModelId()))
            && (this.getDeviceId() == null ? other.getDeviceId() == null : this.getDeviceId().equals(other.getDeviceId()))
            && (this.getEquipmentName() == null ? other.getEquipmentName() == null : this.getEquipmentName().equals(other.getEquipmentName()))
            && (this.getEquipmentIp() == null ? other.getEquipmentIp() == null : this.getEquipmentIp().equals(other.getEquipmentIp()))
            && (this.getPassagewaySum() == null ? other.getPassagewaySum() == null : this.getPassagewaySum().equals(other.getPassagewaySum()))
            && (this.getPrisonDistrictId() == null ? other.getPrisonDistrictId() == null : this.getPrisonDistrictId().equals(other.getPrisonDistrictId()))
            && (this.getEquipmentType() == null ? other.getEquipmentType() == null : this.getEquipmentType().equals(other.getEquipmentType()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getMaxTemperature() == null ? other.getMaxTemperature() == null : this.getMaxTemperature().equals(other.getMaxTemperature()))
            && (this.getMaxLumen() == null ? other.getMaxLumen() == null : this.getMaxLumen().equals(other.getMaxLumen()))
            && (this.getUnmWare() == null ? other.getUnmWare() == null : this.getUnmWare().equals(other.getUnmWare()))
            && (this.getMiniLumen() == null ? other.getMiniLumen() == null : this.getMiniLumen().equals(other.getMiniLumen()))
            && (this.getMaxAmmonia() == null ? other.getMaxAmmonia() == null : this.getMaxAmmonia().equals(other.getMaxAmmonia()))
            && (this.getMiniAmmonia() == null ? other.getMiniAmmonia() == null : this.getMiniAmmonia().equals(other.getMiniAmmonia()))
            && (this.getMaxTemperHumidity() == null ? other.getMaxTemperHumidity() == null : this.getMaxTemperHumidity().equals(other.getMaxTemperHumidity()))
            && (this.getMiniTemperHumidity() == null ? other.getMiniTemperHumidity() == null : this.getMiniTemperHumidity().equals(other.getMiniTemperHumidity()))
            && (this.getReservedFields1() == null ? other.getReservedFields1() == null : this.getReservedFields1().equals(other.getReservedFields1()))
            && (this.getReservedFields2() == null ? other.getReservedFields2() == null : this.getReservedFields2().equals(other.getReservedFields2()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getHardwareVersion() == null ? other.getHardwareVersion() == null : this.getHardwareVersion().equals(other.getHardwareVersion()))
            && (this.getSoftwareVersion() == null ? other.getSoftwareVersion() == null : this.getSoftwareVersion().equals(other.getSoftwareVersion()))
            && (this.getPatternState() == null ? other.getPatternState() == null : this.getPatternState().equals(other.getPatternState()))
            && (this.getLastOfflineTime() == null ? other.getLastOfflineTime() == null : this.getLastOfflineTime().equals(other.getLastOfflineTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getEquipmentinfoId() == null) ? 0 : getEquipmentinfoId().hashCode());
        result = prime * result + ((getAcModelId() == null) ? 0 : getAcModelId().hashCode());
        result = prime * result + ((getDeviceId() == null) ? 0 : getDeviceId().hashCode());
        result = prime * result + ((getEquipmentName() == null) ? 0 : getEquipmentName().hashCode());
        result = prime * result + ((getEquipmentIp() == null) ? 0 : getEquipmentIp().hashCode());
        result = prime * result + ((getPassagewaySum() == null) ? 0 : getPassagewaySum().hashCode());
        result = prime * result + ((getPrisonDistrictId() == null) ? 0 : getPrisonDistrictId().hashCode());
        result = prime * result + ((getEquipmentType() == null) ? 0 : getEquipmentType().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getMaxTemperature() == null) ? 0 : getMaxTemperature().hashCode());
        result = prime * result + ((getMaxLumen() == null) ? 0 : getMaxLumen().hashCode());
        result = prime * result + ((getUnmWare() == null) ? 0 : getUnmWare().hashCode());
        result = prime * result + ((getMiniLumen() == null) ? 0 : getMiniLumen().hashCode());
        result = prime * result + ((getMaxAmmonia() == null) ? 0 : getMaxAmmonia().hashCode());
        result = prime * result + ((getMiniAmmonia() == null) ? 0 : getMiniAmmonia().hashCode());
        result = prime * result + ((getMaxTemperHumidity() == null) ? 0 : getMaxTemperHumidity().hashCode());
        result = prime * result + ((getMiniTemperHumidity() == null) ? 0 : getMiniTemperHumidity().hashCode());
        result = prime * result + ((getReservedFields1() == null) ? 0 : getReservedFields1().hashCode());
        result = prime * result + ((getReservedFields2() == null) ? 0 : getReservedFields2().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getHardwareVersion() == null) ? 0 : getHardwareVersion().hashCode());
        result = prime * result + ((getSoftwareVersion() == null) ? 0 : getSoftwareVersion().hashCode());
        result = prime * result + ((getPatternState() == null) ? 0 : getPatternState().hashCode());
        result = prime * result + ((getLastOfflineTime() == null) ? 0 : getLastOfflineTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", equipmentinfoId=").append(equipmentinfoId);
        sb.append(", acModelId=").append(acModelId);
        sb.append(", deviceId=").append(deviceId);
        sb.append(", equipmentName=").append(equipmentName);
        sb.append(", equipmentIp=").append(equipmentIp);
        sb.append(", passagewaySum=").append(passagewaySum);
        sb.append(", prisonDistrictId=").append(prisonDistrictId);
        sb.append(", equipmentType=").append(equipmentType);
        sb.append(", state=").append(state);
        sb.append(", maxTemperature=").append(maxTemperature);
        sb.append(", maxLumen=").append(maxLumen);
        sb.append(", unmWare=").append(unmWare);
        sb.append(", miniLumen=").append(miniLumen);
        sb.append(", maxAmmonia=").append(maxAmmonia);
        sb.append(", miniAmmonia=").append(miniAmmonia);
        sb.append(", maxTemperHumidity=").append(maxTemperHumidity);
        sb.append(", miniTemperHumidity=").append(miniTemperHumidity);
        sb.append(", reservedFields1=").append(reservedFields1);
        sb.append(", reservedFields2=").append(reservedFields2);
        sb.append(", createTime=").append(createTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", hardwareVersion=").append(hardwareVersion);
        sb.append(", softwareVersion=").append(softwareVersion);
        sb.append(", patternState=").append(patternState);
        sb.append(", lastOfflineTime=").append(lastOfflineTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}